package model

import "time"

// OmsOrderItem 订单中所包含的商品
type OmsOrderItem struct {
	ID                int64   `json:"id" gorm:"id"`
	OrderId           int64   `json:"orderId" gorm:"order_id"`   // 订单id
	MemberId          int64   `json:"memberId" gorm:"member_id"` // 用户id
	OrderSn           string  `json:"orderSn" gorm:"order_sn"`   // 订单编号
	ProductId         int64   `json:"productId" gorm:"product_id"`
	ProductPic        string  `json:"productPic" gorm:"product_pic"`
	ProductName       string  `json:"productName" gorm:"product_name"`
	ProductBrand      string  `json:"productBrand" gorm:"product_brand"`
	ProductSn         string  `json:"productSn" gorm:"product_sn"`
	ProductPrice      float64 `json:"productPrice" gorm:"product_price"`            // 销售价格
	ProductQuantity   int64   `json:"productQuantity" gorm:"product_quantity"`      // 购买数量
	ProductSkuId      int64   `json:"productSkuId" gorm:"product_sku_id"`           // 商品sku编号
	ProductSkuCode    string  `json:"productSkuCode" gorm:"product_sku_code"`       // 商品sku条码
	ProductCategoryId int64   `json:"productCategoryId" gorm:"product_category_id"` // 商品分类id
	PromotionName     string  `json:"promotionName" gorm:"promotion_name"`          // 商品促销名称
	PromotionAmount   float64 `json:"promotionAmount" gorm:"promotion_amount"`      // 商品促销分解金额
	CouponAmount      float64 `json:"couponAmount" gorm:"coupon_amount"`            // 优惠券优惠分解金额
	IntegrationAmount float64 `json:"integrationAmount" gorm:"integration_amount"`  // 积分优惠分解金额
	RealAmount        float64 `json:"realAmount" gorm:"real_amount"`                // 该商品经过优惠后的分解金额
	GiftIntegration   int64   `json:"giftIntegration" gorm:"gift_integration"`
	GiftGrowth        int64   `json:"giftGrowth" gorm:"gift_growth"`
	ProductAttr       string  `json:"productAttr" gorm:"product_attr"`        // 商品销售属性:[{"key":"颜色","value":"颜色"},{"key":"容量","value":"4G"}]
	PromotionId       int64   `json:"promotionId" gorm:"promotion_id"`        // 众筹ID
	PromotionSkuId    int64   `json:"promotionSkuId" gorm:"promotion_sku_id"` // 众筹skuID
}

// TableName 表名称
func (*OmsOrderItem) TableName() string {
	return "oms_order_item"
}

type OmsOrderItemAndProduct struct {
	ID                int64   `json:"id" gorm:"id"`
	OrderId           int64   `json:"orderId" gorm:"order_id"`   // 订单id
	MemberId          int64   `json:"memberId" gorm:"member_id"` // 用户id
	OrderSn           string  `json:"orderSn" gorm:"order_sn"`   // 订单编号
	ProductId         int64   `json:"productId" gorm:"product_id"`
	ProductPic        string  `json:"productPic" gorm:"product_pic"`
	ProductName       string  `json:"productName" gorm:"product_name"`
	ProductBrand      string  `json:"productBrand" gorm:"product_brand"`
	ProductSn         string  `json:"productSn" gorm:"product_sn"`
	ProductPrice      float64 `json:"productPrice" gorm:"product_price"`            // 销售价格
	ProductQuantity   int64   `json:"productQuantity" gorm:"product_quantity"`      // 购买数量
	ProductSkuId      int64   `json:"productSkuId" gorm:"product_sku_id"`           // 商品sku编号
	ProductSkuCode    string  `json:"productSkuCode" gorm:"product_sku_code"`       // 商品sku条码
	ProductCategoryId int64   `json:"productCategoryId" gorm:"product_category_id"` // 商品分类id
	PromotionName     string  `json:"promotionName" gorm:"promotion_name"`          // 商品促销名称
	PromotionAmount   float64 `json:"promotionAmount" gorm:"promotion_amount"`      // 商品促销分解金额
	CouponAmount      float64 `json:"couponAmount" gorm:"coupon_amount"`            // 优惠券优惠分解金额
	IntegrationAmount float64 `json:"integrationAmount" gorm:"integration_amount"`  // 积分优惠分解金额
	RealAmount        float64 `json:"realAmount" gorm:"real_amount"`                // 该商品经过优惠后的分解金额
	GiftIntegration   int64   `json:"giftIntegration" gorm:"gift_integration"`
	GiftGrowth        int64   `json:"giftGrowth" gorm:"gift_growth"`
	ProductAttr       string  `json:"productAttr" gorm:"product_attr"` // 商品销售属性:[{"key":"颜色","value":"颜色"},{"key":"容量","value":"4G"}]
	PromotionId       int64   `json:"promotionId" gorm:"promotion_id"`
	PromotionSkuId    int64   `json:"promotionSkuId" gorm:"promotion_sku_id"`

	// product
	BrandId                    int64     `json:"brandId" gorm:"brand_id"`
	FeightTemplateId           int64     `json:"feightTemplateId" gorm:"feight_template_id"`
	ProductAttributeCategoryId int64     `json:"productAttributeCategoryId" gorm:"product_attribute_category_id"`
	Name                       string    `json:"name" gorm:"name"`
	Pic                        string    `json:"pic" gorm:"pic"`
	DeleteStatus               int64     `json:"deleteStatus" gorm:"delete_status"`       // 删除状态：0->未删除；1->已删除
	PublishStatus              int64     `json:"publishStatus" gorm:"publish_status"`     // 上架状态：0->下架；1->上架
	NewStatus                  int64     `json:"newStatus" gorm:"new_status"`             // 新品状态:0->不是新品；1->新品
	RecommandStatus            int64     `json:"recommandStatus" gorm:"recommand_status"` // 推荐状态；0->不推荐；1->推荐
	VerifyStatus               int64     `json:"verifyStatus" gorm:"verify_status"`       // 审核状态：0->未审核；1->审核通过
	Sort                       int64     `json:"sort" gorm:"sort"`                        // 排序
	Sale                       int64     `json:"sale" gorm:"sale"`                        // 销量
	Price                      float64   `json:"price" gorm:"price"`
	PromotionPrice             float64   `json:"promotionPrice" gorm:"promotion_price"` // 促销价格
	GiftPoint                  int64     `json:"giftPoint" gorm:"gift_point"`           // 赠送的积分
	UsePointLimit              int64     `json:"usePointLimit" gorm:"use_point_limit"`  // 限制使用的积分数
	SubTitle                   string    `json:"subTitle" gorm:"sub_title"`             // 副标题
	Description                string    `json:"description" gorm:"description"`        // 商品描述
	OriginalPrice              float64   `json:"originalPrice" gorm:"original_price"`   // 市场价
	Stock                      int64     `json:"stock" gorm:"stock"`                    // 库存
	LowStock                   int64     `json:"lowStock" gorm:"low_stock"`             // 库存预警值
	Unit                       string    `json:"unit" gorm:"unit"`                      // 单位
	Weight                     float64   `json:"weight" gorm:"weight"`                  // 商品重量，默认为克
	PreviewStatus              int64     `json:"previewStatus" gorm:"preview_status"`   // 是否为预告商品：0->不是；1->是
	ServiceIds                 string    `json:"serviceIds" gorm:"service_ids"`         // 以逗号分割的产品服务：1->无忧退货；2->快速退款；3->免费包邮
	Keywords                   string    `json:"keywords" gorm:"keywords"`
	Note                       string    `json:"note" gorm:"note"`
	AlbumPics                  string    `json:"albumPics" gorm:"album_pics"` // 画册图片，连产品图片限制为5张，以逗号分割
	DetailTitle                string    `json:"detailTitle" gorm:"detail_title"`
	DetailDesc                 string    `json:"detailDesc" gorm:"detail_desc"`
	DetailHtml                 string    `json:"detailHtml" gorm:"detail_html"`                    // 产品详情网页内容
	DetailMobileHtml           string    `json:"detailMobileHtml" gorm:"detail_mobile_html"`       // 移动端网页详情
	PromotionStartTime         time.Time `json:"promotionStartTime" gorm:"promotion_start_time"`   // 促销开始时间
	PromotionEndTime           time.Time `json:"promotionEndTime" gorm:"promotion_end_time"`       // 促销结束时间
	PromotionPerLimit          int64     `json:"promotionPerLimit" gorm:"promotion_per_limit"`     // 活动限购数量
	PromotionType              int64     `json:"promotionType" gorm:"promotion_type"`              // 促销类型：0->没有促销使用原价;1->使用促销价；2->使用会员价；3->使用阶梯价格；4->使用满减价格；5->限时购
	BrandName                  string    `json:"brandName" gorm:"brand_name"`                      // 品牌名称
	ProductCategoryName        string    `json:"productCategoryName" gorm:"product_category_name"` // 商品分类名称
}

type OmsOrderItemAndOrder struct {
	ID                int64   `json:"id" gorm:"id"`
	OrderId           int64   `json:"orderId" gorm:"order_id"`   // 订单id
	MemberId          int64   `json:"memberId" gorm:"member_id"` // 用户id
	OrderSn           string  `json:"orderSn" gorm:"order_sn"`   // 订单编号
	ProductId         int64   `json:"productId" gorm:"product_id"`
	ProductPic        string  `json:"productPic" gorm:"product_pic"`
	ProductName       string  `json:"productName" gorm:"product_name"`
	ProductBrand      string  `json:"productBrand" gorm:"product_brand"`
	ProductSn         string  `json:"productSn" gorm:"product_sn"`
	ProductPrice      float64 `json:"productPrice" gorm:"product_price"`            // 销售价格
	ProductQuantity   int64   `json:"productQuantity" gorm:"product_quantity"`      // 购买数量
	ProductSkuId      int64   `json:"productSkuId" gorm:"product_sku_id"`           // 商品sku编号
	ProductSkuCode    string  `json:"productSkuCode" gorm:"product_sku_code"`       // 商品sku条码
	ProductCategoryId int64   `json:"productCategoryId" gorm:"product_category_id"` // 商品分类id
	PromotionName     string  `json:"promotionName" gorm:"promotion_name"`          // 商品促销名称
	PromotionAmount   float64 `json:"promotionAmount" gorm:"promotion_amount"`      // 商品促销分解金额
	CouponAmount      float64 `json:"couponAmount" gorm:"coupon_amount"`            // 优惠券优惠分解金额
	IntegrationAmount float64 `json:"integrationAmount" gorm:"integration_amount"`  // 积分优惠分解金额
	RealAmount        float64 `json:"realAmount" gorm:"real_amount"`                // 该商品经过优惠后的分解金额
	GiftIntegration   int64   `json:"giftIntegration" gorm:"gift_integration"`
	GiftGrowth        int64   `json:"giftGrowth" gorm:"gift_growth"`
	ProductAttr       string  `json:"productAttr" gorm:"product_attr"`        // 商品销售属性:[{"key":"颜色","value":"颜色"},{"key":"容量","value":"4G"}]
	PromotionId       int64   `json:"promotionId" gorm:"promotion_id"`        // 众筹ID
	PromotionSkuId    int64   `json:"promotionSkuId" gorm:"promotion_sku_id"` // 众筹skuID

	CouponId          int64     `json:"couponId" gorm:"coupon_id"`
	CreateTime        time.Time `json:"createTime" gorm:"create_time"`                // 提交时间
	MemberUsername    string    `json:"memberUsername" gorm:"member_username"`        // 用户帐号
	TotalAmount       float64   `json:"totalAmount" gorm:"total_amount"`              // 订单总金额
	PayAmount         float64   `json:"payAmount" gorm:"pay_amount"`                  // 应付金额（实际支付金额）
	FreightAmount     float64   `json:"freightAmount" gorm:"freight_amount"`          // 运费金额
	DiscountAmount    float64   `json:"discountAmount" gorm:"discount_amount"`        // 管理员后台调整订单使用的折扣金额
	PayType           int64     `json:"payType" gorm:"pay_type"`                      // 支付方式：0->未支付；1->支付宝；2->微信；3->paypal
	SourceType        int64     `json:"sourceType" gorm:"source_type"`                // 订单来源：0->PC订单；1->app订单
	Status            int64     `json:"status" gorm:"status"`                         // 订单状态：0->待付款；1->待发货；2->已发货；3->已完成；4->已关闭；5->无效订单
	OrderType         int64     `json:"orderType" gorm:"order_type"`                  // 订单类型：0->正常订单；1->秒杀订单
	DeliveryCompany   string    `json:"deliveryCompany" gorm:"delivery_company"`      // 物流公司(配送方式)
	DeliverySn        string    `json:"deliverySn" gorm:"delivery_sn"`                // 物流单号
	AutoConfirmDay    int64     `json:"autoConfirmDay" gorm:"auto_confirm_day"`       // 自动确认时间（天）
	Integration       int64     `json:"integration" gorm:"integration"`               // 可以获得的积分
	Growth            int64     `json:"growth" gorm:"growth"`                         // 可以活动的成长值
	PromotionInfo     string    `json:"promotionInfo" gorm:"promotion_info"`          // 活动信息
	BillType          int64     `json:"billType" gorm:"bill_type"`                    // 发票类型：0->不开发票；1->电子发票；2->纸质发票
	BillHeader        string    `json:"billHeader" gorm:"bill_header"`                // 发票抬头
	BillContent       string    `json:"billContent" gorm:"bill_content"`              // 发票内容
	BillReceiverPhone string    `json:"billReceiverPhone" gorm:"bill_receiver_phone"` // 收票人电话
	BillReceiverEmail string    `json:"billReceiverEmail" gorm:"bill_receiver_email"` // 收票人邮箱

	ReceiverID            int64  `json:"receiverID" gorm:"receiver_id"`                        // 收货人地址的ID
	ReceiverName          string `json:"receiverName" gorm:"receiver_name"`                    // 收货人姓名
	ReceiverPhone         string `json:"receiverPhone" gorm:"receiver_phone"`                  // 收货人电话
	ReceiverPostCode      string `json:"receiverPostCode" gorm:"receiver_post_code"`           // 收货人邮编
	ReceiverProvince      string `json:"receiverProvince" gorm:"receiver_province"`            // 省份/直辖市
	ReceiverCity          string `json:"receiverCity" gorm:"receiver_city"`                    // 城市
	ReceiverRegion        string `json:"receiverRegion" gorm:"receiver_region"`                // 区
	ReceiverDetailAddress string `json:"receiverDetailAddress" gorm:"receiver_detail_address"` // 详细地址
	Note                  string `json:"note" gorm:"note"`                                     // 订单备注

	ConfirmStatus  int64      `json:"confirmStatus" gorm:"confirm_status"`   // 确认收货状态：0->未确认；1->已确认
	DeleteStatus   int64      `json:"deleteStatus" gorm:"delete_status"`     // 删除状态：0->未删除；1->已删除
	UseIntegration int64      `json:"useIntegration" gorm:"use_integration"` // 下单时使用的积分
	PaymentTime    *time.Time `json:"paymentTime" gorm:"payment_time"`       // 支付时间
	// 支付返回的数据
	PaymentData     string     `json:"-"  gorm:"payment_data"`
	DeadlinePayment *time.Time `json:"deadlinePayment" json:"deadline_payment"` // 支付倒计时时间
	DeliveryTime    *time.Time `json:"deliveryTime" gorm:"delivery_time"`       // 发货时间
	DeliveryDate    *time.Time `json:"deliveryDate" gorm:"delivery_date"`       // 预估发货时间
	ReceiveTime     *time.Time `json:"receiveTime" gorm:"receive_time"`         // 确认收货时间
	CommentTime     *time.Time `json:"commentTime" gorm:"comment_time"`         // 评价时间
	ModifyTime      *time.Time `json:"modifyTime" gorm:"modify_time"`           // 修改时间
	MemberCom       int        `json:"memberCom" gorm:"member_com"`             // 用户标识（0 -> 未读， 1 -> 已读）
}
